package com.bruce.demo2.patterns.demo2.structural.demo11.composite;

/**
 * @PROJECT_NAME: design_patterns
 * @DESCRIPTION: 测试类
 * @AUTHOR: CNBruceLee
 * @DATE: 2021/7/30 20:58
 */
public class Test {

    @org.junit.Test
    public void test() {
        //1级菜单
        MenuComponent menu1 = new Menu("系统管理", 1, null);

        //2、二级菜单
        MenuComponent menu2 = new Menu("菜单管理", 2, menu1);
        MenuComponent menu3 = new Menu("权限配置", 2, menu1);
        MenuComponent menu4 = new Menu("角色管理", 2, menu1);

        menu1.add(menu2);
        menu1.add(menu3);
        menu1.add(menu4);

        menu2.add(new Menu("页面访问", 3, menu2));
        menu2.add(new Menu("展开菜单", 3, menu2));
        menu2.add(new Menu("编辑菜单", 3, menu2));
        menu2.add(new Menu("删除菜单", 3, menu2));
        menu2.add(new Menu("新增菜单", 3, menu2));

        menu3.add(new Menu("页面访问", 3, menu3));
        menu3.add(new Menu("提交保存", 3, menu3));

        menu4.add(new Menu("页面访问", 3, menu4));
        menu4.add(new Menu("新增角色", 3, menu4));
        menu4.add(new Menu("修改角色", 3, menu4));

        //打印菜单
        menu1.print();
    }
}
